home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 March / PCWorld_2002-03_cd.bin / Software / TemaCD / xteq / setup.exe / {app} / plugins / XQ Startmenu Items 1.xpl < prev    next >
Text File  |  2001-05-11  |  5KB  |  175 lines

  1. "FILE"="Xteq Systems X-Setup Plugin 6.0"
  2. "TYPE"="9"
  3. "COUNT"="1"
  4. "UIPATH"="Appearance\Start menu\Visible Items"
  5. "NAME"="Visible Items"
  6. "VERSION"="1.21"
  7. "LANGUAGE"="VBScript"
  8. "TEXT 1"="Aha! You can't see this!"
  9. "DESCRIPTION 1"="Use this plug-in to show or hide some of the items in the Start menu."
  10. "DESCRIPTION 2"="NOTE #1: You can only hide "Documents" if you have IE4 (with Windows Desktop Update) installed, and "Help" can only be hidden in Windows 2000 and Me."
  11. "DESCRIPTION 3"="NOTE #2: It can happen that if you disable the "Run..." command, you can no longer use the address bar of Internet Explorer. This seems to be a bug inside IE."
  12. "DESCRIPTION 4"="NOTE #3: Disabling "Find..." may also disable the context menu (Right-click) of the START button."
  13. "DESCRIPTION 5"="NOTE #4: Show "Log Off <Username>" might not work if you are using Windows 98 or Windows Me with IE 5 installed. Also, disabling this option will disable the SHUTDOWN button in the CTRL+ALT+DEL menu in Windows 9x"
  14. "DESCRIPTION 6"="NOTE #5: In Windows 2000 and Me, hiding the Run option will not disable the Windows+R key combination, so users will still be able to access the Run command."
  15. "AUTHOR"="Neil R. Turner (totalxs@hotmail.com) for Xteq Systems"
  16. "CONTACTURL"="http://www.128moorlane.freeserve.co.uk/"
  17. "COPYRIGHT"="Copyright ⌐ Xteq Systems - All Rights Reserved"
  18. "COMMENT 1"="Thanks to Joe [gojoecollier@naxs.net] for the "Run might kill IE" bug notice!"
  19. "COMMENT 2"="Thanks to Jon-Roar Selenius [jseleniu@online.no] for spotting the "Recent Documents always empty" bug."
  20. "COMMENT 3"="Thanks to CptSiskoX for the "Show Log Off" Win98 note."
  21. "COMMENT 4"="Thanks to Bill Hudacek [hudacek@us.ibm.com] for spotting the NoFind = NoRightMouse bug."
  22. "COMMENT 5"="Thanks to SIMONORORKE for the Windows 2000 Logoff option!"
  23.  
  24. sP="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\"
  25. sP1="HKLM\Software\Microsoft\Internet Explorer\Version" ' This is for checking the IE version
  26. sP2="HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSMHelp"
  27. sP3="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\StartMenuRun" 'DW
  28. sP4="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\StartMenuLogoff" 'DW
  29.  
  30. SUB Plugin_Initialize
  31.  
  32. ' Step 1: Add UI Elements...
  33.  j=RegReadValue(sP1)
  34.  if j>"4" then ' Only show if IE4 or better is installed
  35.   Call SetUIElement(1,"Favorites")
  36.  end if
  37.  
  38.  j=RegReadValue(sP1)
  39.  if j>"4" then
  40.   Call SetUIElement(2,"Documents")
  41.  end if
  42.  
  43.  j=RegReadValue(sP1)
  44.  if j>"4" then
  45.   Call SetUIElement(6,"Log Off <username>...")
  46.  end if
  47.  
  48.  k=GetWinVer
  49.  if k>3 then
  50.   Call SetUIElement(7,"Help")
  51.  end if
  52.  
  53.  ' These are universal so no checking is necessary
  54.  
  55.  Call SetUIElement(3,"Run...")
  56.  Call SetUIElement(4,"Shut Down...")
  57.  if k=5 then
  58.   Call SetUIElement(5,"Search")
  59.  else
  60.   Call SetUIElement(5,"Find")
  61.  end if
  62.  
  63. ' Step 2: Find out if they are enabled or not...
  64.  i=RegReadValue(sp&"NoFavoritesMenu") 'DW
  65.  If IsEmpty(i)=true or i=0 then
  66.   Call SetUIElementEx(1,true)
  67.  end if
  68.  
  69.  i=RegReadValue(sp&"NoRecentDocsMenu") 'DW
  70.  if IsEmpty(i)=true or i=0 then
  71.   Call SetUIElementEx(2,true)
  72.  end if
  73.  
  74. if k<4 then
  75.  i=RegReadValue(sp&"NoRun") 'DW
  76.  if IsEmpty(i)=true or i=0 then
  77.   Call SetUIElementEx(3,true)
  78.  end if
  79. else
  80.  i=RegReadValue(sP3) 'DW
  81.  if IsEmpty(i)=false or i=1 then
  82.   Call SetUIElementEx(3,true)
  83.  end if
  84. end if
  85.  
  86.  i=RegReadValue(sp&"NoClose") 'DW
  87.  if IsEmpty(i)=true or i=0 then
  88.   Call SetUIElementEx(4,true)
  89.  end if
  90.  
  91.  i=RegReadValue(sp&"NoFind") 
  92.  if IsEmpty(i)=true or i=0 then
  93.   Call SetUIElementEx(5,true)
  94.  end if
  95.  
  96. if k>3 then
  97.  i=RegReadValue(sP4) 'DW
  98.  if IsEmpty(i)=false or i=1 then
  99.   Call SetUIElementEx(6,true)
  100.  end if
  101. else
  102.  i=RegReadValue(sp&"NoLogOff") 'Binary
  103.  if IsEmpty(i)=true or i="00000000" then
  104.   Call SetUIElementEx(6,true)
  105.  end if
  106. end if
  107.  
  108.  i=RegReadValue(sP2) 'DW
  109.  if IsEmpty(i)=true or i=0 then
  110.   Call SetUIElementEx(7,true)
  111.  end if
  112. END SUB
  113.  
  114. 'Called when the Plugin should apply the changes
  115. SUB Plugin_Apply(ElementIndex,ElementSubIndex) 
  116.  w=GetWinVer
  117.  Call WriteIt(1,sp&"NoFavoritesMenu")
  118.  Call WriteIt(2,sp&"NoRecentDocsMenu")
  119.  if w<4 then
  120.   Call WriteIt(3,sP&"NoRun")
  121.  else
  122.   b=GetUIElementEx(3)
  123.   if b=false then
  124.    s=RegReadValue(sP3)
  125.    if IsEmpty(s)=false then
  126.     Call RegDeleteValue(sP3)
  127.    end if
  128.   else
  129.    Call RegWriteValue(sP3,1,2)
  130.   end if
  131.  end if
  132.  Call WriteIt(4,sp&"NoClose")
  133.  Call WriteIt(5,sp&"NoFind")
  134.  Call WriteIt(7,sp2)
  135.  
  136.  if w>3 then
  137.   b=GetUIElementEx(6)
  138.   if b=false then
  139.    s=RegReadValue(sP4)
  140.    if IsEmpty(s)=false then
  141.     Call RegDeleteValue(sp4)
  142.    end if
  143.   else
  144.    Call RegWriteValue(sP4,1,2)
  145.   end if
  146.  else
  147.   b=GetUIElementEx(6)
  148.   if b=true then
  149.    s=RegReadValue(sp&"NoLogOff")
  150.    if IsEmpty(s)=false then
  151.     Call RegDeleteValue(sp&"NoLogOff")
  152.    end if
  153.   else
  154.    Call RegWriteValue(sp&"NoLogOff","01000000",3)
  155.   end if
  156.  end if
  157.  
  158.  Call IndicateSettingChange()
  159. END SUB
  160.  
  161. Sub WriteIt(ITM,PATH1)
  162.  b=GetUIElementEx(ITM)
  163.  if b=true then
  164.   s=RegReadValue(PATH1)
  165.   if IsEmpty(s)=false then
  166.    Call RegDeleteValue(PATH1)
  167.   end if
  168.  else
  169.   Call RegWriteValue(PATH1,1,2)
  170.  end if
  171. End Sub
  172.  
  173. SUB Plugin_Terminate
  174. END SUB
  175.